perm filename TALK.LAP[4,KMC]1 blob sn#016894 filedate 1972-12-08 generic text, type T, neo UTF8
(LAP OUT FSUBR) 
	(PUSH P 1) 
	(HLRZ@ 1 1) 
	(CAIE 1 (QUOTE DOC)) 
	(JRST 0 TAG2) 
	(HRRZ@ 2 0 P) 
	(HLRZ@ 2 2) 
	(MOVEI 1 (QUOTE DOCJOB)) 
	(CALL 2 (E SEND_MAIL)) 
	(JRST 0 TAG1) 
TAG2 	(HLRZ@ 1 0 P) 
	(CAIE 1 (QUOTE OWN)) 
	(JRST 0 TAG3) 
	(HRRZ@ 1 0 P) 
	(HLRZ@ 1 1) 
	(CALL 1 (E *EVAL)) 
	(JRST 0 TAG1) 
TAG3 	(MOVE 1 0 P) 
	(CALL 1 (E LENGTH)) 
	(MOVEI 2 (QUOTE 3)) 
	(CALL 2 (E *LESS)) 
	(JUMPN 1 TAG12) 
	(HRRZ@ 1 0 P) 
	(CALL 1 (E CADR)) 
	(JUMPE 1 TAG12) 
	(HLRZ@ 1 0 P) 
	(CALL 1 (E *EVAL)) 
	(CALL 1 (E NCONS)) 
	(MOVEI 2 (QUOTE DSK:)) 
	(CALL 2 (E XCONS)) 
	(CALL 17 (E OUTPUT)) 
	(JRST 0 TAG11) 
TAG12 
TAG14 
TAG11 	(MOVEI 2 (QUOTE NIL)) 
	(MOVEI 1 (QUOTE T)) 
	(CALL 2 (E OUTC)) 
	(HRRZ@ 1 0 P) 
	(HLRZ@ 1 1) 
	(CALL 1 (E *EVAL)) 
	(MOVE 1 0 P) 
	(CALL 1 (E LENGTH)) 
	(MOVEI 2 (QUOTE 4)) 
	(CALL 2 (E EQUAL)) 
	(JUMPE 1 TAG17) 
	(HRRZ@ 2 0 P) 
	(HRRZ@ 2 2) 
	(HRRZ@ 2 2) 
	(HLRZ@ 2 2) 
	(JRST 0 TAG16) 
TAG17 	(MOVEI 2 (QUOTE NIL)) 
TAG20 
TAG16 	(MOVEI 1 (QUOTE NIL)) 
	(CALL 2 (E OUTC)) 
	(MOVEI 1 (QUOTE NIL)) 
TAG4 
TAG1 	(SUB P (C 0 0 1 1)) 
	(POPJ P) 
	NIL 

(LAP INP FSUBR) 
	(PUSH P 1) 
	(HLRZ@ 1 1) 
	(CAIE 1 (QUOTE DOC)) 
	(JRST 0 TAG2) 
	(HRRZ@ 1 0 P) 
	(HLRZ@ 1 1) 
	(CALL 1 (E NCONS)) 
	(MOVEI 2 (QUOTE (QUOTE TALK00))) 
	(CALL 2 (E XCONS)) 
	(MOVEI 2 (QUOTE SEND_MAIL)) 
	(CALL 2 (E XCONS)) 
	(MOVE 2 1) 
	(MOVEI 1 (QUOTE DOCJOB)) 
	(CALL 2 (E SEND_MAIL)) 
	(MOVEI 1 (QUOTE NIL)) 
	(CALL 1 (E WAIT_FOR_MAIL)) 
	(JRST 0 TAG1) 
TAG2 	(HRRZ@ 1 0 P) 
	(HLRZ@ 1 1) 
	(CALL 1 (E *EVAL)) 
TAG3 
TAG1 	(SUB P (C 0 0 1 1)) 
	(POPJ P) 
	NIL 

(LAP READ_MESSAGE SUBR) 
	(MOVEI 1 (QUOTE "READY:")) 
	(CALL 1 (E PRINTSTR)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG1 	(CALL 0 (E READCH)) 
	(MOVEM 1 0 P) 
	(CAMN 1 (SPECIAL CR)) 
	(JRST 0 TAG12) 
	(CAMN 1 (SPECIAL LF)) 
	(JRST 0 TAG12) 
	(CAME 1 (SPECIAL ALTMODE)) 
	(JRST 0 TAG7) 
TAG12 	(JRST 0 TAG1) 
TAG7 	(MOVEI 1 (QUOTE NIL)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG2 	(MOVE 2 -2 P) 
	(MOVE 1 -1 P) 
	(CALL 2 (E CONS)) 
	(MOVEM 1 -2 P) 
	(MOVEM 1 0 P) 
	(CALL 0 (E READCH)) 
	(MOVEM 1 -1 P) 
	(CAME 1 (SPECIAL ALTMODE)) 
	(JRST 0 TAG20) 
	(CALL 0 (E READCH)) 
	(MOVEM 1 -1 P) 
	(CAME 1 (SPECIAL ALTMODE)) 
	(JRST 0 TAG20) 
	(MOVE 1 0 P) 
	(JRST 0 TAG14) 
TAG20 	(JRST 0 TAG2) 
TAG14 	(CALL 1 (E TERPRI)) 
	(CALL 1 (E TERPRI)) 
	(SUB P (C 0 0 1 1)) 
	(MOVE 2 -1 P) 
	(MOVEI 1 (QUOTE /")) 
	(CALL 2 (E CONS)) 
	(CALL 1 (E REVERSE)) 
	(MOVEI 2 (QUOTE /")) 
	(CALL 2 (E XCONS)) 
	(SUB P (C 0 0 2 2)) 
	(JCALL 1 (E READLIST)) 
	NIL 

(LAP PRINT_MESSAGE SUBR) 
	(JSP 6 SPECBIND) 
	(0 1 (SPECIAL MESSAGE)) 
	(PUSH P 1) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG1 	(MOVE 1 -2 P) 
	(JUMPN 1 TAG6) 
	(MOVE 1 0 P) 
	(JRST 0 TAG2) 
TAG6 
TAG7 	(HLRZ@ 1 -2 P) 
	(MOVEM 1 -1 P) 
	(CALL 1 (E PRINC)) 
	(MOVEM 1 0 P) 
	(HRRZ@ 1 -2 P) 
	(MOVEM 1 -2 P) 
	(JRST 0 TAG1) 
TAG2 	(CALL 1 (E TERPRI)) 
	(SUB P (C 0 0 3 3)) 
	(CALL 1 (E TERPRI)) 
	(JRST 0 SPECSTR) 
	NIL 

(LAP PRINT_ALL SUBR) 
	(PUSH P 1) 
	(CALL 1 (E NCONS)) 
	(MOVEI 2 (QUOTE DSK:)) 
	(CALL 2 (E XCONS)) 
	(MOVE 2 0 P) 
	(CALL 2 (E XCONS)) 
	(MOVEI 2 (QUOTE INPUT)) 
	(CALL 2 (E XCONS)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P 1) 
	(MOVEI 1 (QUOTE NIL)) 
	(CALL 1 (E NCONS)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(MOVEI 2 (QUOTE INC)) 
	(CALL 2 (E XCONS)) 
	(CALL 1 (E *EVAL)) 
TAG1 	(CALL 0 (E TYI)) 
	(CALL 1 (E TYO)) 
	(CAIE 1 (QUOTE 45)) 
	(JRST 0 TAG11) 
	(MOVEI 1 (QUOTE ((READCH) T))) 
	(CALL 17 (E ERRSET)) 
	(MOVEM 1 0 P) 
	(CALL 1 (E ATOM)) 
	(JUMPN 1 TAG6) 
	(HLRZ@ 1 0 P) 
	(CALL 1 (E PRINC)) 
	(JUMPE 1 TAG13) 
TAG13 
TAG11 	(JRST 0 TAG1) 
TAG6 	(MOVEI 1 (QUOTE NIL)) 
	(MOVEI 2 (QUOTE T)) 
	(MOVEI 1 (QUOTE NIL)) 
	(CALL 2 (E INC)) 
	(MOVEI 1 (QUOTE NIL)) 
	(SUB P (C 0 0 2 2)) 
	(POPJ P) 
	NIL 

(LAP SLASHIFY SUBR) 
	(PUSH P 1) 
	(JUMPE 1 TAG1) 
	(HLRZ@ 1 0 P) 
	(PUSH P 1) 
	(HRRZ@ 1 -1 P) 
	(CALL 1 (E SLASHIFY)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(MOVEI 2 (QUOTE //)) 
	(CALL 2 (E XCONS)) 
TAG2 
TAG1 	(SUB P (C 0 0 1 1)) 
	(POPJ P) 
	NIL 

(LAP RESTART SUBR) 
	(JSP 6 SPECBIND) 
	(0 0 (SPECIAL EOF)) 
	(0 0 (SPECIAL FILE1)) 
	(0 0 (SPECIAL FILE2)) 
	(MOVE 1 (SPECIAL PERCENT)) 
	(MOVEM 1 (SPECIAL EOF)) 
	(MOVEI 1 (QUOTE "WHAT DISK FILE DO YOU WANT THIS INTERVIEW SAVED ON?  (5 LETTERS ONLY)")) 
	(CALL 1 (E TERPRI)) 
	(CALL 1 (E PRINTSTR)) 
	(CALL 0 (E READ)) 
	(CALL 1 (E TERPRI)) 
	(MOVEM 1 (SPECIAL FILE1)) 
	(MOVEI 3 (QUOTE 5)) 
	(MOVEI 2 (QUOTE 1)) 
	(CALL 3 (E SUBSTR)) 
	(MOVEI 2 (QUOTE "A")) 
	(CALL 2 (E CAT)) 
	(CALL 1 (E AT)) 
	(MOVEM 1 (SPECIAL FILE2)) 
	(MOVEI 1 (QUOTE (FILE1 NIL T))) 
	(CALL 17 (E OUT)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG1 	(JSP 6 SPECBIND) 
	(0 0 (SPECIAL MESSAGE)) 
	(0 0 (SPECIAL VALUES)) 
	(MOVEI 1 (QUOTE DOCJOB)) 
	(CALL 1 (E JOB_EXISTS)) 
	(JUMPN 1 TAG20) 
	(MOVEI 1 (QUOTE "THE DOCTOR HAS NOT STARTED RUNNING 'DOCJOB' YET.")) 
	(CALL 1 (E PRINTSTR)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG2 	(MOVEI 1 (QUOTE 36)) 
	(CALL 1 (E SLEEP)) 
	(MOVEM 1 0 P) 
	(MOVEI 1 (QUOTE DOCJOB)) 
	(CALL 1 (E JOB_EXISTS)) 
	(JUMPN 1 TAG31) 
	(MOVEI 1 (QUOTE "STILL HASN'T STARTED 'DOCJOB'")) 
	(CALL 1 (E PRINTSTR)) 
	(MOVEI 1 (QUOTE NIL)) 
	(JUMPE 1 TAG30) 
TAG31 	(MOVE 1 0 P) 
	(JRST 0 TAG24) 
TAG30 	(JRST 0 TAG2) 
TAG24 	(SUB P (C 0 0 1 1)) 
	(MOVEI 1 (QUOTE "OK, HE JUST STARTED IT.")) 
	(CALL 1 (E PRINTSTR)) 
	(CALL 1 (E TERPRI)) 
	(MOVEI 1 (QUOTE 36)) 
	(CALL 1 (E SLEEP)) 
	(MOVEI 1 (QUOTE NIL)) 
	(JRST 0 TAG17) 
TAG20 
TAG33 
TAG17 	(MOVEI 1 (QUOTE (DOC (READ_MESSAGE)))) 
	(CALL 17 (E INP)) 
	(MOVEM 1 (SPECIAL MESSAGE)) 
	(MOVEI 1 (QUOTE (OWN (TERPRI (PRINTSTR MESSAGE))))) 
	(CALL 17 (E OUT)) 
	(MOVEI 1 (QUOTE (FILE1 (TERPRI (PRINTSTR (TERPRI (TERPRI MESSAGE))))))) 
	(CALL 17 (E OUT)) 
	(MOVEI 1 (QUOTE (OWN (READ_MESSAGE)))) 
	(CALL 17 (E INP)) 
	(MOVEM 1 (SPECIAL MESSAGE)) 
	(MOVEI 1 (QUOTE (FILE1 (PRINTSTR MESSAGE)))) 
	(CALL 17 (E OUT)) 
	(MOVE 1 (SPECIAL MESSAGE)) 
	(CALL 1 (E AT)) 
	(CALL 1 (E EXPLODE)) 
	(CALL 1 (E SLASHIFY)) 
	(CALL 1 (E READLIST)) 
	(CALL 1 (E NCONS)) 
	(MOVEI 2 (QUOTE QUOTE)) 
	(CALL 2 (E XCONS)) 
	(CALL 1 (E NCONS)) 
	(MOVEI 2 (QUOTE PRINTSTR)) 
	(CALL 2 (E XCONS)) 
	(PUSH P 1) 
	(MOVEI 1 (QUOTE (RETURN (LIST (QUOTE RESPONSE) X (QUOTE PATIENT) (TERPRI (TERPRI (READ))))))) 
	(CALL 1 (E NCONS)) 
	(MOVEI 2 (QUOTE (PRINT (QUOTE PATIENT:)))) 
	(CALL 2 (E XCONS)) 
	(MOVEI 2 (QUOTE (SETQ X (READ)))) 
	(CALL 2 (E XCONS)) 
	(MOVEI 2 (QUOTE (PRINT (QUOTE RESPONSE:)))) 
	(CALL 2 (E XCONS)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(MOVEI 2 (QUOTE (X))) 
	(CALL 2 (E XCONS)) 
	(MOVEI 2 (QUOTE PROG)) 
	(CALL 2 (E XCONS)) 
	(CALL 1 (E NCONS)) 
	(MOVEI 2 (QUOTE DOC)) 
	(CALL 2 (E XCONS)) 
	(CALL 17 (E INP)) 
	(MOVEM 1 (SPECIAL VALUES)) 
	(MOVEI 1 (QUOTE (FILE1 (PROG2 (PRINTSTR (TERPRI VALUES)) (PRINC EOF)) NIL T))) 
	(CALL 17 (E OUT)) 
	(MOVE 1 (SPECIAL FILE1)) 
	(CALL 1 (E NCONS)) 
	(MOVE 2 (SPECIAL FILE2)) 
	(CALL 2 (E XCONS)) 
	(MOVE 2 1) 
	(MOVEI 1 (QUOTE (FILE1 FILE2))) 
	(CALL 2 (E &DECOMPOSE)) 
	(MOVEI 1 (QUOTE (FILE1 (PRINT_ALL FILE2) T))) 
	(CALL 17 (E OUT)) 
	(MOVEI 1 (QUOTE NIL)) 
	(PUSHJ P SPECSTR) 
	(MOVEM 1 0 P) 
	(JRST 0 TAG11) 
TAG12 	(MOVE 1 0 P) 
	(JRST 0 TAG6) 
TAG35 
TAG11 	(JRST 0 TAG1) 
TAG6 	(MOVEI 1 (QUOTE NIL)) 
	(SUB P (C 0 0 1 1)) 
	(JRST 0 SPECSTR) 
	NIL